package com.distribute.pojo.Task;

import com.distribute.pojo.enums.TaskType;

import java.util.Date;
import java.util.List;
import java.util.Map;

public abstract class TaskDefinition{

    private int id;

    private long code;

    private String name;

    private int version;

    private String description;

    private long projectCode;

    private int userId;


    private List  taskParamList;

    private Map taskParamMap;

    private String flag;

    private String taskPriority;

    private String userName;

    private String projectName;

    private String workerGroup;

    private int environmentCode;

    private int failRetryTimes;

    private int failRetryInterval;

    private String timeoutFlag;

    private String timeoutNotifyStrategy;

    private int timeout;

    private int delayTime;

    private String resourceIds;

    private Date createTime;

    private Date updateTime;

    private String modifyBy;

    private int taskGroupId;

    private int taskGroupPriority;

    private int cpuQuota;

    private int memoryMax;

    private String taskExecuteType;

    private int operator;

    private Date operateTime;

    private String dependence;

    private transient TaskDefinition prev;

    private transient TaskDefinition next;

    public abstract TaskType getTaskType();

    public TaskDefinition getPrev() {
        return prev;
    }

    public void setPrev(TaskDefinition prev) {
        this.prev = prev;
    }

    public TaskDefinition getNext() {
        return next;
    }

    public void setNext(TaskDefinition next) {
        this.next = next;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public long getCode() {
        return code;
    }

    public void setCode(long code) {
        this.code = code;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getVersion() {
        return version;
    }

    public void setVersion(int version) {
        this.version = version;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public long getProjectCode() {
        return projectCode;
    }

    public void setProjectCode(long projectCode) {
        this.projectCode = projectCode;
    }

    public int getUserId() {
        return userId;
    }

    public void setUserId(int userId) {
        this.userId = userId;
    }

    public List getTaskParamList() {
        return taskParamList;
    }

    public void setTaskParamList(List taskParamList) {
        this.taskParamList = taskParamList;
    }

    public Map getTaskParamMap() {
        return taskParamMap;
    }

    public void setTaskParamMap(Map taskParamMap) {
        this.taskParamMap = taskParamMap;
    }

    public String getFlag() {
        return flag;
    }

    public void setFlag(String flag) {
        this.flag = flag;
    }

    public String getTaskPriority() {
        return taskPriority;
    }

    public void setTaskPriority(String taskPriority) {
        this.taskPriority = taskPriority;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getWorkerGroup() {
        return workerGroup;
    }

    public void setWorkerGroup(String workerGroup) {
        this.workerGroup = workerGroup;
    }

    public int getEnvironmentCode() {
        return environmentCode;
    }

    public void setEnvironmentCode(int environmentCode) {
        this.environmentCode = environmentCode;
    }

    public int getFailRetryTimes() {
        return failRetryTimes;
    }

    public void setFailRetryTimes(int failRetryTimes) {
        this.failRetryTimes = failRetryTimes;
    }

    public int getFailRetryInterval() {
        return failRetryInterval;
    }

    public void setFailRetryInterval(int failRetryInterval) {
        this.failRetryInterval = failRetryInterval;
    }

    public String getTimeoutFlag() {
        return timeoutFlag;
    }

    public void setTimeoutFlag(String timeoutFlag) {
        this.timeoutFlag = timeoutFlag;
    }

    public String getTimeoutNotifyStrategy() {
        return timeoutNotifyStrategy;
    }

    public void setTimeoutNotifyStrategy(String timeoutNotifyStrategy) {
        this.timeoutNotifyStrategy = timeoutNotifyStrategy;
    }

    public int getTimeout() {
        return timeout;
    }

    public void setTimeout(int timeout) {
        this.timeout = timeout;
    }

    public int getDelayTime() {
        return delayTime;
    }

    public void setDelayTime(int delayTime) {
        this.delayTime = delayTime;
    }

    public String getResourceIds() {
        return resourceIds;
    }

    public void setResourceIds(String resourceIds) {
        this.resourceIds = resourceIds;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getModifyBy() {
        return modifyBy;
    }

    public void setModifyBy(String modifyBy) {
        this.modifyBy = modifyBy;
    }

    public int getTaskGroupId() {
        return taskGroupId;
    }

    public void setTaskGroupId(int taskGroupId) {
        this.taskGroupId = taskGroupId;
    }

    public int getTaskGroupPriority() {
        return taskGroupPriority;
    }

    public void setTaskGroupPriority(int taskGroupPriority) {
        this.taskGroupPriority = taskGroupPriority;
    }

    public int getCpuQuota() {
        return cpuQuota;
    }

    public void setCpuQuota(int cpuQuota) {
        this.cpuQuota = cpuQuota;
    }

    public int getMemoryMax() {
        return memoryMax;
    }

    public void setMemoryMax(int memoryMax) {
        this.memoryMax = memoryMax;
    }

    public String getTaskExecuteType() {
        return taskExecuteType;
    }

    public void setTaskExecuteType(String taskExecuteType) {
        this.taskExecuteType = taskExecuteType;
    }

    public int getOperator() {
        return operator;
    }

    public void setOperator(int operator) {
        this.operator = operator;
    }

    public Date getOperateTime() {
        return operateTime;
    }

    public void setOperateTime(Date operateTime) {
        this.operateTime = operateTime;
    }

    public String getDependence() {
        return dependence;
    }

    public void setDependence(String dependence) {
        this.dependence = dependence;
    }
}
